perm filename BUILDL.DOC[P,JRA] blob sn#203337 filedate 1976-02-23 generic text, type T, neo UTF8




     On this tape you will find the sources  for  Lisp,  all  the
on-line  documentation  for  Lisp,  and the library functions for
Lisp.  You will also find a macro (that knows  about  half-kills)
and 2 linkr's (see below).

     There  are  some modifications that you will have to make to
Lisp to run it on your system.  These are the pathnames that  the
system knows about and the switches that make the particular Lisp
configuration that you desire.

To get the Lisp you want, set the switches in sparm.m11 and  play
with linkr and linkr.v6 as follows:

        standard combined space Lisp (Bell 410):

                multiseg = Bell411 = 0;
                rm support/linkr.v6
                mv support/linkr source/linkr

        Harvard format (5-space I&D):

                multiseg = 1;
                Bell411 = 0;
                rm support/linkr.v6
                mv support/linkr source/linkr

        Bell I&D format (V6 411)

                multiseg = 1;
                Bell411 = 1;
                rm support/linkr
                mv support/linkr.v6 source/linkr

     There  are  also other switches that you should be concerned
with:

        fpsim   0=> hardware fpp on 11/45
                1=> 11/40 or no hardware fpp

        gcrec   0=> when Lisp has gc stack overflow, die.
                1=> when gc stack overflow occurs, recover

        brksig  0=> take no special action when out of dotted pairs
                ?=> use this signal(interupt) to return to top level when
                    there are no dotted pairs. At Harvard,  break (13) is used,
                    but there is no reason that that quit  or the
                    like couldn't be used.

        onepage (data space only users (410))
                1=> Arrange things so that the text size is about
                    4k words.  Do this by making some of the
                    "pure" text code live in the data segment.
                    provides about 1800 extra dtpr's at expense
                    of system overhead.

                0=> put all text in sharable segments.












     The pathnames that need attention are located in  dstuf.m11.
Errorfile  is  the  path of the errorfile, which is accessed each
screw-up. This path should be kept short, in  order  that  system
overhead will be relatively low.  Secondarly, fix the path of the
Lisp library directory, if necessary.  The third path (which  has
to  be  fixed  only if you make an I&D Lisp) is lispbin, which is
where the saveme function gets its instructions (note  that  mfpi
doesn't  work  here).  One may also wish to give attention to the
paths in the shrlisp command file, and to the paths in  the  file
svlisp.


     One is now ready to make a Lisp.  To do this utter:

%shrlisp

which  will  eventually  (about  5-10 minutes) produce a ../L1100
file (assuming that you didn't change shrlisp).  Then type:

%../L1100 -

which will run Lisp, and write out the error file( that's why the
-).  If the errorfile is ok, the system should respond

AM110 Lisp
->

If not, something like:

#nnnnnn ->

where nnnnnn is an integer  indicating  the  message  number  re-
quested.  After you have convinced yourself that Lisp is ok, do a

->(load '"../lib/svlisp")
nil
->(sv1)

->

a sequence which will 1) load the saux file and the hacks file 2)
purge the binding of saveme and 3) leave a file  on  the  current
directory called code, which is executable and has the pre-loaded
auxfns contained.  Place this in bin, and you are done.  (You may
also  wish  to  produce  ed110, which is obtained by loading edit
before doing the (sv1)).

     In the lib directory, there is the file saux ( which has the
auxillary  functions,  such  as  pp,  get,  put, etc.) and auxfns
(which is similar to aux, but hassome functions defined that that
are  now  hand-coded in subr.m11).  The file edit is the L110 in-
core editor.  The functions of trace and bt  should  be  obvious.
The  file hack has the teco and tecf stuff, as well as update and
shell.  If you do not have teco, prehaps this could  be  made  to










work with ed, but I make no promises.

     In the directory doc, there is an lman (lisp user documenta-
tion), and ed110 manuals.  There is also the description  of  the
innards  that  we  give our am110 students when they add stuff to
the interpreter.  There is also a list insertion teco  macro  and
documentation that is useful if you have teco.

     As  far  a i'm aware, Lisp is solid, and has survived over a
year of use.  Recently, full core allocation overflow  protection
has  been added, and hopefully is throughly debugged.  However, i
would appreciate knowing of any problems with the system.

     Good luck, and feel free to contact  me  if  there  are  any
problems.


                                forrest howard
                                95 baker st
                                belmont, ma 02178
                                617-489-0395

(ps  auxfns no longer fits on the tape, so it is not included
 use saux)